// components/SellPage/company/company.js
import {
  getCompanyAnalyse,
  getProductNav
} from '../../../network/market'
import {
  debounce
} from '../../../utils/Tools'

Component({
  /**
   * 组件的属性列表
   */
  properties: {

  },

  /**
   * 组件的初始数据
   */
  data: {
    beginDate: "开始时间",
    endDate:"结束时间",
    date: "当前选择",
    // 列表数据
    pageList: [],
    afterList: [],
    //导航数据
    // 公司名称&供货商
    companyList: [{
      text: "公司名",
      value: 0
    }],
    // 品种规格
    standards: [{
      text: "材料名称",
      value: 0
    }],
    // 材料名称
    productName: [{
      text: "品种规格",
      value: 0
    }],
    // 封装方式
    packMethod: [{
      text: "封装方式",
      value: 0
    }],
    // 选项列值
    screen: {
      companyListNum: 0,
      standardsNum: 0,
      productNameNum: 0,
      packMethodNum: 0
    }

  },
  // 结构完成加载生命周期
  attached() {
    // 获取产品数据列表
    this._getCompanyAnalyse(),
      // 获取筛选项
      this._getProductNav()
    this.getProductList = debounce(this.getProductList, 300)

  },
  /**
   * 组件的方法列表
   */
  methods: {
    beginDate(){
      this.setData({
        beginDate:"开始时间"
      })
    },
    endDate(){
      console.log("取消了");
      this.setData({
        endDate:"结束时间"
      })
    },
    // 改变开始时间时触发
    beginDateChange: function (e) {
      this.setData({
        beginDate: e.detail.value
      })
    },
    // 改变结束时间时触发
    endDateChange: function (e) {
      this.setData({
        endDate: e.detail.value
      })
    },
    // 获取产品数据列表方法
    async _getCompanyAnalyse() {
      const res = await getCompanyAnalyse()
      if (res.code === 200) {
        this.setData({
          pageList: res.data,
          afterList: res.data
        })
      }
    },

    // 获取产品导航列表
    async _getProductNav() {
      const res = await getProductNav()
      if (res.code == 200) {
        this.assignNav(res.data.company_lists, "companyList")
        console.log("com",res.data.company_lists);
        this.assignNav(res.data.product.standards, "standards")
        console.log("com1",res.data.product.standards);
        this.assignNav(res.data.product.product_name, "productName")
        this.assignNav(res.data.product.pack_method, "packMethod")
      }
    },
 
    // 对产品导航进行数据处理
    assignNav(arr, cate) {
      var newArr = []
      for (let key in arr) {
        newArr.push(arr[key])
      }
      console.log("newArr",newArr);
      newArr.forEach((res, index, ) => {
        this.setData({
          [cate]: this.data[cate].concat({
            text: res,
            value: index + 1
          })
        })
      });
    },
    // 下拉选择时触发
    async handleDownMenu(e) {
      const {
        type
      } = e.currentTarget.dataset
      this.setData({
        [`screen.${type}`]: e.detail
      })
      this.getProductList()
      console.log("e",e);
    },
    async getProductList() {
      const {
        companyList,
        standards,
        productName,
        packMethod
      } = this.data
      const {
        companyListNum,
        standardsNum,
        productNameNum,
        packMethodNum
      } = this.data.screen
      const data = {
        // 公司名称
        company_name_get: companyListNum == 0 ? '' : companyList[companyListNum].text,
        product_name: productNameNum == 0 ? '' : productName[productNameNum].text,
        standards: standardsNum == 0 ? '' : standards[standardsNum].text,
        pack_method: packMethodNum == 0 ? '' : packMethod[packMethodNum].text,
        start_date:this.data.beginDate=="开始时间"?'':this.data.beginDate,
        end_date:this.data.endDate=="结束时间"?'':this.data.endDate
        // start_date
        // end_date
      }
      const res = await getCompanyAnalyse(data)
      if (res.code === 200) {
        this.setData({
          afterList: res.data
        })
      }
    }
  },
})